This invention is in the field of data communications, and is more specifically directed to Asynchronous Transfer Mode (ATM) data communications by way of a Universal Serial Bus (USB) peripheral device.
The present embodiments relate to universal serial bus (xe2x80x9cUSBxe2x80x9d) systems, and are more particularly directed to increasing the rate and flexibility of communications between a USB host and a peripheral.
USB is a recently-developed technology established by a joint effort of various companies, resulting in an adopted standard set forth in Universal Serial Bus Specification, Revision 1.1, Sep. 23, 1998, which is hereby incorporated herein by reference. The USB Specification is directed to a goal of improving the user-friendliness of various aspects of computers and the peripheral devices typically used with such computers, and to this end governs many aspects about USB systems. In a USB system, peripheral devices are coupled to the host personal computer or workstation computer in a tiered-star topology over the USB bus; in this topology, external devices are physically connected to the USB bus by way of a standardized USB cable, rather than by way of specialized serial and parallel ports. The USB bus is mastered by a USB host, resident in the host personal computer or workstation, with the USB peripherals operating as slave devices on that bus.
The USB technology provides significant advantages to the computer system user, including the ability to connect up to 127 peripheral devices, in a xe2x80x9cdaisy-chainxe2x80x9d tiered-star topology, to a single USB port on the host computer. The USB technology also permits the user to connect and disconnect USB peripheral devices to or from the USB system without requiring system power-down, and generally with little or no configuration input required from the user. This capability provides considerable flexibility and possible cost reduction in comparison to many contemporary systems, particularly those which can only support one peripheral device per port. USB systems also can easily integrate various functions such as data, voice, and video, into the system through a single serial-data transfer protocol, without requiring add-on cards and the availability of their associated mainboard slots. Additionally, the master-slave arrangement permits the relatively high processing capacity of the host computer to perform and manage much of the data processing required for the peripheral function.
By way of further background, various techniques have been developed in the field of digital communications for routing messages among the nodes of a network. One such approach is referred to as packet-based data communications, in which certain network nodes operate as concentrators to receive portions of messages, referred to as packets, from the sending units. These packets may be stored at the concentrator, and are then routed to a destination concentrator to which the receiving unit indicated by the packet address is coupled. The size of the packet refers to the maximum upper limit of information that can be communicated between concentrators (i.e., between the store and forward nodes), and is typically a portion of a message or file. Each packet includes header information relating to the source and destination network addresses, permitting proper routing of the message packet. Packet switching with short length packets ensures that routing paths are not unduly dominated by long individual messages, and thus reduces transmission delay in the store-and-forward nodes. Packet-based data communications technology has enabled communications to be carried out at high data rates, up to and exceeding hundreds of megabits per second.
A well-known fast packet switching protocol, which combines the efficiency of packet switching with the predictability of circuit switching, is Asynchronous Transfer Mode (generally referred to as xe2x80x9cATMxe2x80x9d). According to ATM protocols, message packets are subdivided into cells of fixed length and organization, regardless of message length or data type (i.e., voice, data, or video). Each ATM cell is composed of fifty-three bytes, five of which are dedicated to the header and the remaining forty-eight of which serve as the payload. According to this protocol, ATM packets are made up of a number of fixed-length ATM cells, currently limited to a maximum of sixty-four cells. The fixed size of the ATM cells enables packet switching to be implemented in hardware, as opposed to software, resulting in transmission speeds in the gigabits-per-second range. In addition, the switching of cells rather than packets permits scalable user access to the network, from a few Mbps to several Gbps, as appropriate to the application.
The ATM technology is particularly well suited for communications among computers over the worldwide and public medium commonly referred to as the Internet, because of the flexibility and recoverability provided by this packet-based approach. A relatively recent technology by way of which remote, home, or small office workstations can now connect to the Internet is referred to in the art as digital subscriber line (xe2x80x9cDSLxe2x80x9d). DSL refers generically to a public network technology that delivers relatively high bandwidth, far greater than current voice modem data rates, over conventional telephone company copper wiring at limited distances. As such, DSL modulator/demodulators (xe2x80x9cmodemsxe2x80x9d) are now available for implementation with workstations and personal computers for ATM communications to and from the Internet, with data rates provided by DSL modems ranging from on the order of 500 Kbps to 18 Mbps or higher, according to conventional techniques.
Given the benefits of USB peripherals discussed above, USB-based DSL modems are now being introduced into the marketplace. Conventional USB-based DSL modems rely upon the host workstation or personal computer to perform such operations as segmentation of message data to be transmitted into ATM cells, and also the reassembly of received ATM cells into the message. This reliance upon the host processor is typical for USB-based peripherals, as noted above.
It is therefore an object of the present invention to provide a USB-based modem that more efficiently utilizes the USB bus for the communication of data than in conventional USB modems.
It is a further object of the present invention to provide such a modem in which a portion of the segmentation of ATM packets into ATM cells into messages at the modem rather than at the host system, thus reducing the amount of ATM overhead that is transmitted over the USB bus.
It is a further object of the present invention to reduce the computational burden upon the host system in performing ATM communications.
Other objects and advantages of the present invention will be apparent to those of ordinary skill in the art having reference to the following specification together with its drawings.
The present invention may be implemented into a USB peripheral device, in which ATM segmentation logic is embodied within the USB interface. ATM packets and messages that are generated by the USB host, such as a personal computer or workstation, are forwarded to USB endpoints in shared memory of the USB peripheral. The header portion of each packet, including the virtual connection, packet length, and packet type, is read by the ATM segmentation acceleration logic and stored in a register. Transmission of each ATM cell then begins with the transmission of a four-byte header including this information to a digital signal processor (DSP) for transmission over the communications facility, followed by the transmission of some of payload portion of the packet after retrieval from the shared memory. Upon reaching the boundary of an ATM cell, the header information is then again transmitted, followed by the payload portion. Additionally, cyclic redundancy check calculations may be performed by the ATM segmentation logic to further ease the computational burden of the host system.